package com.ybwh.springboot2.sys.dao;


import com.gitee.fastmybatis.core.mapper.CrudMapper;
import com.github.pagehelper.Page;
import com.ybwh.springboot2.sys.model.po.SysFunc;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

/**
* 系统功能DAO
*
* @author Fan Beibei
* @date 2023-04-08 19:26:56
*/
public interface SysFuncMapper extends CrudMapper<SysFunc/*实体类*/, Long/*主键类型*/> {

    /**
    * 分页查询
    *
    * @param param    查询参数
    * @param pageNum  页号
    * @param pageSize 页大小
    * @return
    */
    Page<SysFunc> selectByPage(
        @Param("param") SysFunc param,
        @Param("pageNum") int pageNum,
        @Param("pageSize") int pageSize);




    /**
     *
     * 根据角色ID查询
     *
     * @param roleIds
     * @return
     */
    List<SysFunc> selectByRoleIds(@Param("roleIds") Collection<Long> roleIds);

    /**
     * 查询所有
     *
     * @return
     */
    List<SysFunc> selectAll();

    /**
     * 根据id路径查询
     *
     * @param idPath
     * @return
     */
    List<SysFunc> selectByIdPath(@Param("idPath") String idPath);

    /**
     *
     * 根据父ID查询
     *
     * @param parentId
     * @return
     */
    List<SysFunc> selectByParentId(@Param("parentId") Long parentId);
}